﻿using System;
using System.Runtime.Serialization;
using System.ComponentModel.DataAnnotations;

namespace HobSoft.SoccerBet2014.Domain.Models.Site
{
    using Core;
    [Serializable]
    [DataContract]
    public class BettingOrder : IModel
    {
        private byte _bmId;
        [Required]
        [DataMember(IsRequired = true)]
        public byte BmID
        {
            get { return _bmId; }
            set { _bmId = value; }
        }

        private string _account;
        [Required]
        [DataMember(IsRequired = true)]
        public string Account
        {
            get { return _account; }
            set { _account = value; }
        }

        private string _recId;
        [Required]
        [DataMember(IsRequired = true)]
        public string RecID
        {
            get { return _recId; }
            set { _recId = value; }
        }

        private string _rawTypeName;
        [DataMember]
        public string RawTypeName
        {
            get { return _rawTypeName; }
            set { _rawTypeName = value; }
        }

        private MarketType _type;
        [DataMember]
        public MarketType Type
        {
            get { return _type; }
            set { _type = value; }
        }
        

        private string _rawHomeTeam;
        [DataMember]
        public string RawHomeTeam
        {
            get { return _rawHomeTeam; }
            set { _rawHomeTeam = value; }
        }

        private string _rawAwayTeam;
        [DataMember]
        public string RawAwayTeam
        {
            get { return _rawAwayTeam; }
            set { _rawAwayTeam = value; }
        }

        private string _rawScore;
        [DataMember]
        public string RawScore
        {
            get { return _rawScore; }
            set { _rawScore = value; }
        }

        private byte _rawHomeScore;
        [DataMember]
        public byte RawHomeScore
        {
            get { return _rawHomeScore; }
            set { _rawHomeScore = value; }
        }

        private byte _rawAwayScore;
        [DataMember]
        public byte RawAwayScore
        {
            get { return _rawAwayScore; }
            set { _rawAwayScore = value; }
        }


        private string _rawLeagueName;
        [DataMember]
        public string RawLeagueName
        {
            get { return _rawLeagueName; }
            set { _rawLeagueName = value; }
        }

        private decimal _handicap;
        [DataMember]
        public decimal Handicap
        {
            get { return _handicap; }
            set { _handicap = value; }
        }


        private decimal _oddsValue;
        [DataMember]
        public decimal OddsValue
        {
            get { return _oddsValue; }
            set { _oddsValue = value; }
        }

        private OddsPrice.OddsPriceType _priceType;
        [DataMember]
        public OddsPrice.OddsPriceType PriceType
        {
            get { return _priceType; }
            set { _priceType = value; }
        }

        private decimal _money;
        [DataMember]
        public decimal Money
        {
            get { return _money; }
            set { _money = value; }
        }

        private string _rawStatus;
        [DataMember]
        public string RawStatus
        {
            get { return _rawStatus; }
            set { _rawStatus = value; }
        }

        private DateTime? _bettingTime;
        [DataMember]
        public DateTime? BettingTime
        {
            get { return _bettingTime; }
            set { _bettingTime = value; }
        }


    }
}
